package com.winchain.provider.expiration.dao;

import com.shell.bee.persistence.mapper.BaseMapper;
import com.winchain.provider.expiration.po.CbDebit;
import com.winchain.provider.expiration.vo.CbDebitQueryVo;
import com.winchain.provider.expiration.vo.CbDebitVo;
import com.winchain.provider.expiration.vo.PaymentStatsQueryVo;
import com.winchain.provider.expiration.vo.PaymentStatsVo;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public abstract interface CbDebitDao extends BaseMapper<CbDebit> {
	public abstract CbDebit selectAndLockByKey(@Param("key") String paramString);

	public abstract List<CbDebit> selectDebitBill(@Param("debitDate") String paramString1,
			@Param("grpId") String paramString2, @Param("debitStateList") List<String> paramList);

	public abstract List<CbDebit> selectErrorCbDebit();

	public abstract int updateSecurityBankAcct(@Param("acctNo") String paramString1,
			@Param("acctName") String paramString2, @Param("cusId") String paramString3,
			@Param("oldAcctNo") String paramString4);

	public abstract List<CbDebitVo> selectDebitAbnormalList(CbDebitQueryVo paramCbDebitQueryVo);

	public abstract List<CbDebitVo> selectDebitList(CbDebitQueryVo paramCbDebitQueryVo);

	public abstract List<CbDebit> selectOverdueDebit(@Param("theDayBefore") String paramString);

	public abstract List<PaymentStatsVo> queryDebitStatsList(PaymentStatsQueryVo paramPaymentStatsQueryVo);

	public abstract List<CbDebitVo> selectDebitCashList(CbDebitQueryVo paramCbDebitQueryVo);
}
